/*******************************************************************************
 *
 * Copyright (c) 2001-2006 Primeton Technologies, Ltd.
 * All rights reserved.
 *
 * Created on Apr 11, 2008
 *******************************************************************************/
package com.cap.cfae.cfae.impl;

import com.cap.cfae.cfae.Tag;
import com.primeton.ext.data.sdo.DataUtil;
import com.primeton.ext.data.sdo.ExtendedDataObjectImpl;

import commonj.sdo.Type;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Test</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link com.cap.cfae.cfae.impl.TagImpl#getId <em>Id</em>}</li>
 *   <li>{@link com.cap.cfae.cfae.impl.TagImpl#getTagName <em>TagName</em>}</li>
 *   <li>{@link com.cap.cfae.cfae.impl.TagImpl#getUserId <em>UserId</em>}</li>
 *   <li>{@link com.cap.cfae.cfae.impl.TagImpl#getCreateDate <em>CreateDate</em>}</li>
 *   <li>{@link com.cap.cfae.cfae.impl.TagImpl#getModifyDate <em>ModifyDate</em>}</li>
 * </ul>
 * </p>
 *
 * @extends ExtendedDataObjectImpl;
 *
 * @implements Tag;
 */

public class TagImpl extends ExtendedDataObjectImpl implements Tag {
	/**
	 * Comment for <code>serialVersionUID</code>
	 */
	private static final long serialVersionUID = 1L;
	public final static int INDEX_ID = 0;
	public final static int INDEX_TAGNAME = 1;
	public final static int INDEX_USERID = 2;
	public final static int INDEX_CREATEDATE = 3;
	public final static int INDEX_MODIFYDATE = 4;
	public static final int SDO_PROPERTY_COUNT = 5;

	public static final int EXTENDED_PROPERTY_COUNT = -1;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 */
	public TagImpl() {
		this(TYPE);
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 */
	public TagImpl(Type type) {
		super(type);
	}

	protected void validate() {
		validateType(TYPE);
	}

	/**
	 * Returns the value of the '<em><b>Id</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Id</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Id</em>' attribute.
	 * @see #setId(java.lang.String)
	 */
	public String getId() {
		return DataUtil.toString(super.getByIndex(INDEX_ID, true));
	}

	/**
	 * Sets the value of the '{@link com.primeton.eos.Test#getId <em>Id</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Id</em>' attribute.
	 * @see #getId()
	 */
	public void setId(String id) {
		super.setByIndex(INDEX_ID, id);
	}

	/**
	 * Returns the value of the '<em><b>TagName</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>TagName</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>TagName</em>' attribute.
	 * @see #setTagName(java.lang.String)
	 */
	public String getTagName() {
		return DataUtil.toString(super.getByIndex(INDEX_TAGNAME, true));
	}

	/**
	 * Sets the value of the '{@link com.primeton.eos.Test#getTagName <em>TagName</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>TagName</em>' attribute.
	 * @see #getTagName()
	 */
	public void setTagName(String tagName) {
		super.setByIndex(INDEX_TAGNAME, tagName);
	}

	/**
	 * Returns the value of the '<em><b>UserId</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>UserId</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>UserId</em>' attribute.
	 * @see #setUserId(java.lang.String)
	 */
	public String getUserId() {
		return DataUtil.toString(super.getByIndex(INDEX_USERID, true));
	}

	/**
	 * Sets the value of the '{@link com.primeton.eos.Test#getUserId <em>UserId</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>UserId</em>' attribute.
	 * @see #getUserId()
	 */
	public void setUserId(String userId) {
		super.setByIndex(INDEX_USERID, userId);
	}

	/**
	 * Returns the value of the '<em><b>CreateDate</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>CreateDate</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>CreateDate</em>' attribute.
	 * @see #setCreateDate(java.lang.String)
	 */
	public String getCreateDate() {
		return DataUtil.toString(super.getByIndex(INDEX_CREATEDATE, true));
	}

	/**
	 * Sets the value of the '{@link com.primeton.eos.Test#getCreateDate <em>CreateDate</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>CreateDate</em>' attribute.
	 * @see #getCreateDate()
	 */
	public void setCreateDate(String createDate) {
		super.setByIndex(INDEX_CREATEDATE, createDate);
	}

	/**
	 * Returns the value of the '<em><b>ModifyDate</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>ModifyDate</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>ModifyDate</em>' attribute.
	 * @see #setModifyDate(java.lang.String)
	 */
	public String getModifyDate() {
		return DataUtil.toString(super.getByIndex(INDEX_MODIFYDATE, true));
	}

	/**
	 * Sets the value of the '{@link com.primeton.eos.Test#getModifyDate <em>ModifyDate</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>ModifyDate</em>' attribute.
	 * @see #getModifyDate()
	 */
	public void setModifyDate(String modifyDate) {
		super.setByIndex(INDEX_MODIFYDATE, modifyDate);
	}


}